#ifndef NETTER_H
#define NETTER_H

#include <QObject>
#include <QTcpSocket>


#include "scheduler.h"
#include "client.h"
#include "config.h"

class Message;
class Netter : public QObject
{
    Q_OBJECT

public:
	
	
private:
	

private:
	static Scheduler *sscheduler;
	static Client *sclient;
	static Netter *snetter;

private:

public:
    explicit Netter(QObject *parent = 0);
	Netter(const Netter &);
	Netter& operator=(const Netter &);	

public:
	~Netter();
	void start();

public:
	static void trace(QString header, QString message, LogLevel level);
	
signals:

public slots:
	void processNewCommand(const Message *);
	void rttmNewConnection(int);
	void rttmDataArrival(const QString &);
	void commandsNewConnection(int);
	void commandsDataArrival(const QString &);	

	
public:
	static Netter *instance();
	static Scheduler *scheduler();
    static Client *client();
};

#endif // NETTER_H
